Real-Time Performance of Dynamic Memory Allocation Algorithms

نویسنده

  • Isabelle Puaut
چکیده

Dynamic memory management is an important aspect of modern software engineering techniques. However, developers of real-time systems avoid using it because they fear that the worst-case execution time of the dynamic memory allocation routines is not bounded or is bounded with an excessively large bound. The degree to which this concern is valid is quantified in this paper, by giving detailed average and worst-case measurements of the timing performance of a comprehensive panel of dynamic memory allocators. For each allocator, we compare its worst-case behavior obtained analytically with the worst timing behavior observed by executing real and synthetic workloads, and with its average timing performance. The results provide a guideline to developers of real-time systems to choose whether to use dynamic memory management or not, and which dynamic allocation algorithm should be preferred from the viewpoint of predictability.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Making Dynamic Memory Allocation Static to Support Wcet Analyses1

Current worst-case execution time (WCET) analyses do not support programs using dynamic memory allocation. This is mainly due to the unpredictable cache performance when standard memory allocators are used. We present algorithms to compute a static allocation for programs using dynamic memory allocation. Our algorithms strive to produce static allocations that lead to minimal WCET times in a su...

متن کامل

Node-oriented dynamic memory management for real-time systems on ccNUMA architecture systems

Since the 1960s, most operating systems and programming languages have been able to use dynamic memory allocation and deallocation. Although memory allocation has always required explicit interaction with an allocator, deallocation can be either explicit or implicit. Surprisingly, even though memory allocation/deallocation algorithms have been studied extensively over the last five decades, lim...

متن کامل

Reducing Memory Fragmentation with Performance-Optimized Dynamic Memory Allocators in Network Applications

The needs for run-time data storage in modern wired and wireless network applications are increasing. Additionally, the nature of these applications is very dynamic, resulting in heavy reliance on dynamic memory allocation. The most significant problem in dynamic memory allocation is fragmentation, which can cause the system to run out of memory and crash, if it is left unchecked. The available...

متن کامل

Reducing memory fragmentation in network applications with dynamic memory allocators optimized for performance

The needs for run-time data storage in modern wired and wireless network applications are increasing. Additionally, the nature of these applications is very dynamic, resulting in heavy reliance on dynamic memory allocation. The most significant problem in dynamic memory allocation is fragmentation, which can cause the system to run out of memory and crash, if it is left unchecked. The available...

متن کامل

Dynamic storage allocation for real - time embedded systems ∗

Dynamic memory allocation DSA algorithms have played in important role in the modern software engineering paradigms and techniques (as object oriented paradigm). Additionally, its utilization allows to increase the flexibility and functionalities of the applications. There exists in the literature a large number of works and references to this particular issue. However, in the real-time communi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002